'''
目的：根据一定的下标范围，去获取对应下标处的元素
格式：列表[start:stop:step]
说明：1）默认值[0:len(列表):1]
    2)参数可以省，但是冒号不能省  eg：[::]
    3）范围：[start,stop)
    4）切片可以支持所有有序序列：元组、列表、字符串
    5）del 删除切片数据
'''
ls = [5,6,7,'lucy',8,9,"lily"]
ls1 = ls[3:6:1]
print(ls1)

print(ls[:6:2]) # 0,2,4
print(ls[::])
print(ls[6:0:-1]) # 6 5 4 3 2 1
print(ls[::-1]) # 反向遍历
print("-----------")
del ls[3:5:1]
print(ls)

'''
遍历列表 元组 集合 字典 字符串 对每个元素进行操作

'''
for l in ls:
    print(l,"-->")

# 根据下标去遍历
for index in range(len(ls)):
    print(ls[index],"~~~")

# 反向遍历
for i in range(len(ls)-1,-1,-1):
    print(ls[i])

# 判断列表是否含有某个元素 判断字符串是否含有某个字符
print("lily" in ls)
if "lily" in ls:
    pass

str1 = "aslkdgja"
print("dg1" in str1)

# 将列表中长度大于3的元素删除
ls1 = ["tom","lily","lucy","and"]
le = len(ls1)
index = -1
for i in range(le):
    index += 1
    # 判断元素的长度len()
    print(index,"-------------")
    if len(ls1[index]) > 3:
        del ls1[index]
        index -= 1

print(ls1)

ls3 = ["tom","lily","lucy","and"]
ls4 = []
for j in ls3:
    if len(j) <=3:
        ls4.append(j)

ls3 = ls4
print(ls3)

# 各个个元素出现的次数
ls5 = [5,6,7,8,3,4,5,5]
print(ls5.count(51))

# 计算列表中所有偶数的和

# 找出列表中的第二大数值
# 排序找

# 找出列表中的最大数值 不通过排序
ls6 = [52,64,71,8,31,44,51,5]
# 定义一个变量，代表最大值，初始值为第一个数
max1 = ls6[0]
for em in ls6[1::]:
    # 最大值和后面的数据进行比较，如果大于最大值，则改变max的值
    if em > max1:
        max1 = em
print(max1)

ls=[3,4,5,877,25,2654,187]
ma= max(ls)
print(ma)
mi=min(ls)
print(mi)